package modeloConstrucciones;

import java.util.*;
import modeloEntidades.Amigo;


public class Gobierno extends Construccion implements Rentable {
    
    private int bono_poblacion;
    private int recomprensa;
    private int turnomax=3;
    //private int num_amigosContratados;
    private int numMaxContratado;
    private int precioContrato;
    private ArrayList<Amigo> amigosContratados;
    private int bonificacion;
    private int pagarle;
    
    public Gobierno()
    {
        
    }
    
    public Gobierno(int bono_poblacion,int recompensa,int num_amigosContratados,int numMaxContratado,int precioContrato)
    {
        this.bono_poblacion=bono_poblacion;
        this.recomprensa=recompensa;
        this.numMaxContratado=numMaxContratado;
        this.precioContrato=precioContrato;
        this.amigosContratados= new ArrayList();
        this.bonificacion=100;
        this.pagarle = 0; //inicialmente no se le debe pagar
    }

    public int getPagarle()
    {
        return this.pagarle;
    }
    
    public void setPagarle(int p){
        this.pagarle = p;
    }
    
    public int getBono_poblacion() {
        return bono_poblacion;
    }

    public void setBono_poblacion(int bono_poblacion) {
        this.bono_poblacion = bono_poblacion;
    }

    public int getRecomprensa() {
        return recomprensa;
    }

    public void setRecomprensa(int recomprensa) {
        this.recomprensa = recomprensa;
    }

    public int getTurnomax() {
        return turnomax;
    }


    public void setTurnomax(int turnomax) {
        this.turnomax = turnomax;
    }
   
    public int getNumMaxContratado() {
        return numMaxContratado;
    }

    public void setNumMaxContratado(int numMaxContratado) {
        this.numMaxContratado = numMaxContratado;
    }

    public int getPrecioContrato() {
        return precioContrato;
    }

    public void setPrecioContrato(int precioContrato) {
        this.precioContrato = precioContrato;
    }

    public ArrayList<Amigo> getAmigosContratados() {
        return amigosContratados;
    }

       public int getBonificacion() {
        return bonificacion;
    }

    public void setBonificacion(int bonificacion) {
        this.bonificacion = bonificacion;
    }
    
   
    public void contratarAmigo(Amigo nuevoContratado)
    {
        //Amigo nuevoAmigo=new amigoContratado(nombre,nivel);
        getAmigosContratados().add(nuevoContratado);
        
    }
    
    public boolean esAmigo(String nombre)
    {
        for(int i=0;i<getAmigosContratados().size();i++)
        {
            if(getAmigosContratados().get(i).getNombre().equals(nombre))
            return true;
        }
        
        return false;
    }

    @Override
    public int recolectarDinero() {
       return recomprensa;
    }

    @Override
    public int recolectarRecursos() {
        return 0;
    }

    @Override
    public int recolectarExp() {
        return getXP();
    }


    @Override
    public int obtenerGastoFua() {
        return 1;
    }

    public void removerAmigo(int i)
    {
        this.amigosContratados.remove(i);
    }
 
 
}
